第4章 DNSの構成要素と具体的な動作
スタブリゾルバー、フルリゾルバー(フルサービスリゾルバー)、権威サーバー
https://gyazo.com/86139992ee85482e7d6732d8c4935100
スタブリゾルバー(stub=末端)
PCやスマホなどの機器で動作する
フルリゾルバーへ名前解決要求する
webブラウザやアプリなどのプログラムに名前解決の手段(API=アプリケーションプログラミングインターフェース)を提供する
フルリゾルバー
スタブリゾルバーから名前解決要求を受付る
名前解決を行いスタブリゾルバーに返す
名前解決は階層構造を辿って権威サーバーへ問い合わせる
名前解決の際に得られた情報をキャッシュする
なぜルートサーバーの情報をフルリゾルバーは知っているのか??
ヒントファイルというルートサーバーの一覧を持っている
最新のルートサーバー一覧を得るためのプライミングという仕組みがある
権威サーバー(今までネームサーバーと呼んでいた)
フルリゾルバーからの問い合わせを受ける
自分の知っている情報を返す
権威サーバーは他のサーバーに問い合わせることはない
https://gyazo.com/32a0ec3550b3d90af5eeeb2649912b52
下記のdigコマンドでNSの情報が出ていないのはなぜ??
code:dig
dig scrapbox.io
; <<>> DiG 9.10.6 <<>> scrapbox.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39238
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;scrapbox.io. IN A
;; ANSWER SECTION:
scrapbox.io. 287 IN A 52.20.42.118
## ドメイン名 TTL クラス タイプ データ
scrapbox.io. 287 IN A 34.228.134.34
scrapbox.io. 287 IN A 52.7.103.227
scrapbox.io. 287 IN A 34.232.135.84
scrapbox.io. 287 IN A 52.1.17.102
scrapbox.io. 287 IN A 34.202.138.174
scrapbox.io. 287 IN A 3.221.126.62
scrapbox.io. 287 IN A 34.237.57.234
;; Query time: 1 msec
;; SERVER: 240d:1e:103:7000:d6c1:c8ff:fe65:3bd0#53(240d:1e:103:7000:d6c1:c8ff:fe65:3bd0)
;; WHEN: Fri Apr 10 21:29:31 JST 2020
;; MSG SIZE rcvd: 157
上記が名前解決の実際の応答の例
実際の応答は、最後のデータのところ!
scrapbox.io. 287 IN A 52.20.42.118
ドメイン名 TTL クラス タイプ データ
TTL Time To Liveそのリソースレコードを保持する時間(単位は秒)
クラス インターネットを意味するIN (それ以外は特殊な用途)
タイプ 情報の種類、ここではAというタイプでIPv4アドレスを指定している
IPv6を指定する場合はAAAA
そのゾーンの権威サーバーを指定する場合はNS
電子メールの配送先と優先度を指定する場合はMX
データ クラスとタイプによって表示されるデータは異なる、ここではIPアドレス
名前解決の登場人物たちの名前が解決されていないw
スタブリゾルバー=DNSクライアントなど
フルリゾルバー=キャッシュDNSサーバー、参照サーバー、ネームサーバー、DNSサーバーなど
権威サーバー=権威DNSサーバー、ゾーンサーバー、ネームサーバー、DNSサーバーなど
特にDNSサーバーとかネームサーバーはDNSサービスを提供するサーバーの名称として広く使われるので注意が必要
注目する機能などにより名称が変わってしまう
スタブリゾルバー、フルリゾルバー、権威サーバー、はRFCで定められている
フルリゾルバーのキャッシュとネガティブキャッシュ
名前解決の結果を保存するキャッシュ
目的のリソースレコードが存在しなかったという結果も保存するネガティブキャッシュ
無駄に名前解決要求をさせない
正引きと逆引き
ドメイン名からIPアドレス、が正引き(dig)
IPアドレスからドメイン名、が逆引き(whois)